package com.scy.java.set;
import java.util.Scanner;
import java.util.SortedSet;
import java.util.TreeSet;

//本次有5名学生参加考试，当老师录人每名学生的成绩后，程序按照
// 从底到高地排列顺序显示学生的成绩此外，
// 老师可以查询本次考试是否有满分的学生存在，不及格的有哪些，
// 90以上的有哪些
public class TreeSetDemo {
    public static void main(String[] args) {
        //创建treeSet集合
        TreeSet<Double> treeSet = new TreeSet<>();
        Scanner scanner = new Scanner(System.in);
        System.out.println("---------学生成绩管理系统---------");
        for (int i = 0; i < 5; i++) {
            System.out.println("第"+(i+1)+"个学生成绩:");
            double score = scanner.nextDouble();
            //将学生的成绩添加到TreeSet集合中
            //Double.valueOf()将获取到的基本类型转化为引用类型
            treeSet.add(Double.valueOf(score));
        }
        //按照从底到高地排列顺序显示学生的成绩
        treeSet.forEach(scoreSet
                -> System.out.print(scoreSet+"\t"));
        System.out.println("\n请输入要查询的成绩：");
        double searchScore = scanner.nextDouble();
        //判断是否存在要查询的成绩
        if (treeSet.contains(searchScore)){
            System.out.println("成绩为"+searchScore+"的学生存在");
        }else {
            System.out.println("成绩为"+searchScore+"的学生不存在");
        }

        //查询不及格的学生
        System.out.println("不及格的学生有：");
        SortedSet<Double> headSet = treeSet.headSet(60.0);
        headSet.forEach(set -> System.out.print(set + "\t"));
//        for (int i = 0; i < headSet.size(); i++) {
//            System.out.print(headSet.toArray()[i]+"\t");
//        }

        //90分以上的学生有
        System.out.println("\n90分以上的学生有：");
        SortedSet<Double> tailSet = treeSet.tailSet(90.0);
        tailSet.forEach(set -> System.out.print(set + "\t"));
//        for (int i = 0; i < tailSet.size(); i++) {
//            System.out.print(tailSet.toArray()[i]+"\t");
//        }

    }
}
